import { IPSLanguageRes } from './ipslanguage-res';
import { IPSSysI18N } from './ipssys-i18-n';
import { IPSSysLan } from './ipssys-lan';
import { PSModelObjectImpl } from '../psmodel-object-impl';

export class PSSysI18NImpl extends PSModelObjectImpl implements IPSSysI18N {
  protected allpslanguagereses: IPSLanguageRes[] | null = null;

  getAllPSLanguageReses(): IPSLanguageRes[] | null {
    if (this.allpslanguagereses == null) {
      this.allpslanguagereses = this.fillChildListModel(this.M.getAllPSLanguageReses, 'res.IPSLanguageRes') as IPSLanguageRes[];
    }
    return this.allpslanguagereses;
  }

  get allPSLanguageReses(): IPSLanguageRes[] | null {
    return this.getAllPSLanguageReses();
  }

  findPSLanguageRes(objKey: any): IPSLanguageRes | null {
    return this.getPSModel5('res.IPSLanguageRes', this.getAllPSLanguageReses(), objKey) as IPSLanguageRes;
  }

  protected allpssyslans: IPSSysLan[] | null = null;

  getAllPSSysLans(): IPSSysLan[] | null {
    if (this.allpssyslans == null) {
      this.allpssyslans = this.fillChildListModel(this.M.getAllPSSysLans, 'res.IPSSysLan') as IPSSysLan[];
    }
    return this.allpssyslans;
  }

  get allPSSysLans(): IPSSysLan[] | null {
    return this.getAllPSSysLans();
  }

  findPSSysLan(objKey: any): IPSSysLan | null {
    return this.getPSModel5('res.IPSSysLan', this.getAllPSSysLans(), objKey) as IPSSysLan;
  }

  get codeName(): string {
    return this.M.codeName;
  }

  get dynaModelFilePath(): string {
    return this.M.dynaModelFilePath;
  }

  get memo(): string {
    return this.M.memo;
  }

  get name(): string {
    return this.M.name;
  }

  get userCat(): string {
    return this.M.userCat;
  }

  get userTag(): string {
    return this.M.userTag;
  }

  get userTag2(): string {
    return this.M.userTag2;
  }

  get userTag3(): string {
    return this.M.userTag3;
  }

  get userTag4(): string {
    return this.M.userTag4;
  }

  get cls(): string {
    return 'PSSysI18NImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'res.IPSSysI18N') return true;
    return super.instanceof(cls);
  }
}
